package com.mixsmart.core.search.filter;

import java.util.HashMap;

/**
 * 搜索过滤工厂
 * @author lmq
 * @version 1.0
 * @since 1.0
 * 2015年11月5日
 */
public class SearchFilterFactory {

	/**
	 * 过滤对象转化为为HashMap；转化后的Map对象为：
	 * “属性参数名称为key；属性参数值为key对应的值”
	 * @param filterBean 转化对象
	 * @return 返回转化后的HashMap对象
	 */
	public static HashMap<String,Object> filterBeanToMap(SearchFilter filterBean) {
		IConvertSearchFilter convertFilter = new SearchFilterConvertMap(filterBean);
		HashMap<String,Object> params = convertFilter.getResult();
		convertFilter = null;
		return params.isEmpty()?null:params;
	}
	
	/**
	 * 解析过滤对象为字符串；转化后的字符串格式为：
	 * “属性参数名称=属性参数值”多个属性直接用“&”符号分隔
	 * @param filterBean 转化对象
	 * @return 返回字符串
	 */
	public static String filterBeanToStr(SearchFilter filterBean) {
		return new SearchFilterConverString(filterBean).getResult();
	}
	
}
